Matthias Clasen [Sat, 8 Feb 2020 15:22:54 +0000 (10:22 -0500)]
Avoid mime sniffing where possible
When we are loading symbolic pngs or svgs, we know
that we need to the png or svg loader, so there is
no need to go through (surprisingly expensive) mime
sniffing to find the right loader.
Matthias Clasen [Fri, 7 Feb 2020 21:25:02 +0000 (16:25 -0500)]
gtk-demo: Don't call gtk_main_quit
It doesn't work with GtkApplications that do not
call gtk_main().
Matthias Clasen [Fri, 7 Feb 2020 20:42:32 +0000 (15:42 -0500)]
Adwaita: Fix selection in vertical spin buttons
This was broken by more specific selectors.
Matthias Clasen [Fri, 7 Feb 2020 19:23:55 +0000 (19:23 +0000)]
Merge branch 'patch-1' into 'master'
Update migrating-3to4.xml (fixed typo, in line 377)
See merge request GNOME/gtk!1398
J Arun Mani [Fri, 7 Feb 2020 18:30:42 +0000 (18:30 +0000)]
Update migrating-3to4.xml
Matthias Clasen [Fri, 7 Feb 2020 17:49:45 +0000 (12:49 -0500)]
label: Don't use gtk_widget_peek_style_context
We may just not have a style context. And we can just
as well go directly to the css styles.
Timm Bäder [Fri, 7 Feb 2020 04:09:10 +0000 (05:09 +0100)]
window: Move variable initialziation just before usage
Timm Bäder [Thu, 6 Feb 2020 16:32:26 +0000 (17:32 +0100)]
Rename gtk_widget{get,set,has}_style_class to _css_class
We want to use css instead of style everywhere now.
Timm Bäder [Wed, 5 Feb 2020 15:11:28 +0000 (16:11 +0100)]
treepopover: Fix header guard
Timm Bäder [Wed, 5 Feb 2020 07:08:45 +0000 (08:08 +0100)]
box: Move vfunc implementations before class_init
Just like we do everywhere else. This way we can also get rid of all the
prototypes.
Timm Bäder [Fri, 7 Feb 2020 03:32:08 +0000 (04:32 +0100)]
calendar: Remove day-selected-double-click signal
It doesn't really make sense to treat double clicks here different than
single clicks (and is bad UX), and it also breaks switching months by
quickly trying to single-click the last/first days in the calendar.
Timm Bäder [Wed, 5 Feb 2020 08:24:31 +0000 (09:24 +0100)]
calendar: Remove an unused enum
Timm Bäder [Wed, 5 Feb 2020 08:23:45 +0000 (09:23 +0100)]
calendar: Remove month-changed signal
Listen to notify::month instead.
Timm Bäder [Wed, 5 Feb 2020 08:22:21 +0000 (09:22 +0100)]
calendar: Keep a GDateTime around
Instead of a year/month/day triple.
Timm Bäder [Tue, 4 Feb 2020 14:20:39 +0000 (15:20 +0100)]
calendar: Return a GDateTime from get_date()
Timm Bäder [Tue, 4 Feb 2020 13:38:19 +0000 (14:38 +0100)]
calendar: Use GDateTime to select days
Timm Bäder [Tue, 4 Feb 2020 13:03:17 +0000 (14:03 +0100)]
calendar: Use widgets for everything
Timm Bäder [Tue, 4 Feb 2020 11:29:54 +0000 (12:29 +0100)]
calendar: Try to avoid changing size when changing the year
Timm Bäder [Tue, 4 Feb 2020 11:24:32 +0000 (12:24 +0100)]
calendar: Remove spinning code
This is dead code
Timm Bäder [Tue, 4 Feb 2020 11:19:08 +0000 (12:19 +0100)]
calendar: Add accessors for display properties
Instead of having a display flags enum and bitfield, just add proper
accessors for the properties, which is what we do everywhere else.
Timm Bäder [Tue, 4 Feb 2020 10:10:11 +0000 (11:10 +0100)]
testcalendar: Remove unused function
Timm Bäder [Tue, 4 Feb 2020 09:01:58 +0000 (10:01 +0100)]
calendar: Remove details
This is an unused feature that's way too complicated for a default
calendar widget and complicates the implementation a lot. Since we want
to eventually replace this with actual widgets, remove the details
support now.
Timm Bäder [Mon, 3 Feb 2020 11:06:26 +0000 (12:06 +0100)]
calendar: Fix an uninitialized value
Values pased to gtk_widget_measure must be initialized to 0. This failed
if the header widget of the calendar was invisible.
Timm Bäder [Tue, 4 Feb 2020 08:44:03 +0000 (09:44 +0100)]
Adwaita: Fix levelbar styling
The block nodes are inside a trough node.
Timm Bäder [Mon, 3 Feb 2020 10:43:15 +0000 (11:43 +0100)]
{box,grid}layout: Access border spacing directly
Instead of going through the style context
Timm Bäder [Sun, 2 Feb 2020 12:21:36 +0000 (13:21 +0100)]
GskTransform: Remove useless fmod check
All angles are in the [0; 360[ range
Timm Bäder [Sun, 2 Feb 2020 12:20:40 +0000 (13:20 +0100)]
GskTransform: add assertions to make normalize_angle() intentions clear
360deg should be expressed as 0deg and no angle should ever be
negative.
Timm Bäder [Fri, 31 Jan 2020 16:45:37 +0000 (17:45 +0100)]
snapshot: Remove new_with_parent
Unneeded now that we have push_collect()/pop_collect()
Timm Bäder [Fri, 31 Jan 2020 16:43:31 +0000 (17:43 +0100)]
textlayout: Use gtk_snapshot_{push,pop}_collect()
Timm Bäder [Fri, 31 Jan 2020 16:08:17 +0000 (17:08 +0100)]
GskRoundedRect: Inline graphene_rect_contains_rect
Brings gsk_rounded_rect_contains_rect down from 0.54% to 0.14% when
rendering rounded backgrounds.
Timm Bäder [Fri, 31 Jan 2020 07:08:11 +0000 (08:08 +0100)]
widget: Use gtk_snapshot_{push,pop})_collect
So we avoid allocating a new snapshot just for that.
Timm Bäder [Fri, 31 Jan 2020 07:05:34 +0000 (08:05 +0100)]
snapshot: Add _push_collect() and _pop_collect()
These will replace the previous gtk_snapshot_new_with_parent(), which
allocated an entirely new GObject just to push()/pop() some state. This
is already a problem but will be more important in the future as we
start using this more.
Timm Bäder [Wed, 29 Jan 2020 11:11:39 +0000 (12:11 +0100)]
Start using GtkWidget's new style class API
Timm Bäder [Wed, 29 Jan 2020 09:40:10 +0000 (10:40 +0100)]
renderborder: Make simple border case more obvious
When reaching this point, it is impossible that all border styles are
HIDDEN or NONE, but up to 3 of them can still be that style. In any
case, the "none or solid" border style is the most common on there is,
so try to make this simpler here by just appending a border node
directly instead of going through the snapshot_border path.
Timm Bäder [Wed, 29 Jan 2020 09:34:28 +0000 (10:34 +0100)]
Move GTK_BORDER_STYLE_HIDDEN before GTK_BORDER_STYLE_SOLID
The simple case when drawing border is "solid or nothing", which we can
now check for as simple as "style <= GTK_BORDER_STYE_SOLID".
Timm Bäder [Mon, 27 Jan 2020 13:22:20 +0000 (14:22 +0100)]
testcalendar: Close window properly
Timm Bäder [Tue, 28 Jan 2020 12:51:56 +0000 (13:51 +0100)]
searchbar: Use proper getter in _get_property()
Instead of retuning a seemingly random boolean, just use
gtk_search_bar_get_search_mode().
Timm Bäder [Tue, 28 Jan 2020 12:51:04 +0000 (13:51 +0100)]
searchbar: Use g_object_notify_by_pspec
We already keep the pspecs around, so use them.
Timm Bäder [Tue, 28 Jan 2020 07:42:08 +0000 (08:42 +0100)]
progressbar: Remove a few unneeded queue_resize() calls
This will happen automatically when adding style classes, setting the
label text, etc.
Timm Bäder [Wed, 5 Feb 2020 14:10:30 +0000 (15:10 +0100)]
Window: inline function into only caller
Timm Bäder [Fri, 31 Jan 2020 15:39:12 +0000 (16:39 +0100)]
widget: Fix a from_string/try_string mixup
Timm Bäder [Thu, 6 Feb 2020 07:17:51 +0000 (08:17 +0100)]
widget: Speed up verify_invariants()
Hide the expensive GTK_IS_ROOT() checks behind the cheaper realized,
mapped, etc. checks. This way we only check for the widget being a root
if the invariant does not hold.
This gets pop_verify_invariants() from 16% to 6% when running the
scrolling benchmark in the widget-factory.
Timm Bäder [Thu, 6 Feb 2020 07:17:31 +0000 (08:17 +0100)]
widget: Remove verify_child_invariants
Just calls verify_invariants() anyway.
Piotr Drąg [Fri, 7 Feb 2020 16:27:16 +0000 (17:27 +0100)]
Update POTFILES.in
Matthias Clasen [Fri, 7 Feb 2020 14:16:46 +0000 (09:16 -0500)]
NEWS: Small additions
Matthias Clasen [Fri, 7 Feb 2020 14:15:46 +0000 (09:15 -0500)]
flatpak: Build against the master runtime
This is what the ci is set up to use, and building
against 3.34 fails there.
Matthias Clasen [Fri, 7 Feb 2020 13:25:51 +0000 (13:25 +0000)]
Merge branch 'wip/otte/toolbar' into 'master'
remove GtkToolbar
See merge request GNOME/gtk!1383
Benjamin Otte [Mon, 3 Feb 2020 04:42:34 +0000 (05:42 +0100)]
GtkToolbar: remove
Benjamin Otte [Mon, 3 Feb 2020 04:40:46 +0000 (05:40 +0100)]
testsuite: Get rid of GtkToolbar
Just use GtkBox instead
Benjamin Otte [Mon, 3 Feb 2020 16:34:29 +0000 (17:34 +0100)]
css: Remove .primary-toolbar
It's not used anywhere anymore.
Benjamin Otte [Mon, 3 Feb 2020 04:17:23 +0000 (05:17 +0100)]
css: Remove .inline-toolbar
It's not used anywhere anymore.
Benjamin Otte [Mon, 3 Feb 2020 04:07:45 +0000 (05:07 +0100)]
widget-factory: Get rid of toolbars
Benjamin Otte [Mon, 3 Feb 2020 03:52:15 +0000 (04:52 +0100)]
gtk-demo: Get rid of toolbars
Benjamin Otte [Mon, 3 Feb 2020 03:29:10 +0000 (04:29 +0100)]
bloatpad: Use a box, not a toolbar
Benjamin Otte [Mon, 3 Feb 2020 00:10:55 +0000 (01:10 +0100)]
print: Don't use a toolbar in the custom paper dialog
Use a regular linked box instead.
Benjamin Otte [Thu, 6 Feb 2020 16:42:56 +0000 (17:42 +0100)]
cssnode: Remove leftover vfunc
Matthias Clasen [Fri, 7 Feb 2020 13:05:45 +0000 (08:05 -0500)]
Remove accidentally added files
Matthias Clasen [Fri, 7 Feb 2020 12:59:14 +0000 (07:59 -0500)]
Add a forgotten word
Matthias Clasen [Fri, 7 Feb 2020 12:50:02 +0000 (07:50 -0500)]
Fix syntax
Matthias Clasen [Fri, 7 Feb 2020 12:48:04 +0000 (07:48 -0500)]
Updates for 3.98
Matthias Clasen [Fri, 7 Feb 2020 07:06:45 +0000 (07:06 +0000)]
Merge branch 'wip/carlosg/implicit-grabs-on-leave' into 'master'
Handle implicit grabs on leave events
Closes #13
See merge request GNOME/gtk!1397
Carlos Garnacho [Fri, 7 Feb 2020 00:02:47 +0000 (01:02 +0100)]
gtkmain: Wait for GDK_CROSSING_UNGRAB leave event with implicit grabs
If there is a passive grab and the pointer leaves the window we would
receive a GDK_CROSSING_NORMAL event when the pointer moves outside
the window, and a GDK_CROSSING_UNGRAB event when we do release the
button and the implicit grab.
We currently would react to the first, but want to react to the
second. In the time between both events, the client would still receive
pointer motion that will reach the implicitly grabbed widget.
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/13
Carlos Garnacho [Fri, 7 Feb 2020 00:00:52 +0000 (01:00 +0100)]
gtkroot: Make enum a typedef
Seems a typo, and prevents building as GtkRootProperties is deemed
to be defined multiple times.
Matthias Clasen [Thu, 6 Feb 2020 23:54:39 +0000 (23:54 +0000)]
Merge branch 'a11y-fixes' into 'master'
A11y fixes
See merge request GNOME/gtk!1396
Matthias Clasen [Thu, 6 Feb 2020 22:21:22 +0000 (17:21 -0500)]
testsuite: Misc. updates of expected output
The a11y dumps for action and header bars
have changed in harmless ways.
Matthias Clasen [Thu, 6 Feb 2020 23:03:28 +0000 (18:03 -0500)]
infobar: Implement forall
As a container, that is what you have to do.
Matthias Clasen [Thu, 6 Feb 2020 22:12:34 +0000 (17:12 -0500)]
testsuite: Clean up a11y menu tests
We don't need some of the tests anymore, since
we just have popovers now.
Matthias Clasen [Thu, 6 Feb 2020 21:50:09 +0000 (16:50 -0500)]
testsuite: Improve --generate support
When using the test binary to generate expected
output, don't initialize the test machinery, since
that pollutes the output with noise.
Matthias Clasen [Thu, 6 Feb 2020 05:47:13 +0000 (00:47 -0500)]
tests: Fix infobars in ui files
GtkInfoBar no longer exposes the content_area
as internal child.
Matthias Clasen [Thu, 6 Feb 2020 05:46:48 +0000 (00:46 -0500)]
testsuite: Update expected output
Matthias Clasen [Thu, 6 Feb 2020 05:16:18 +0000 (00:16 -0500)]
colorchooser: Use a composite accessible
This makes the content show up in the a11y tree again.
Matthias Clasen [Thu, 6 Feb 2020 04:17:17 +0000 (23:17 -0500)]
tests: Update expected output
The stackswitcher is no longer a box, so it doesn't
have the horizontal state anymore.
Matthias Clasen [Thu, 6 Feb 2020 04:09:23 +0000 (23:09 -0500)]
testsuite: Update some a11y tests
GtkMenuButton::use-popover no longer exists, remove it
from test files.
Matthias Clasen [Thu, 6 Feb 2020 04:06:47 +0000 (23:06 -0500)]
stackswitcher: Use a composite accessible
This makes the buttons show up in the a11y tree again.
Matthias Clasen [Thu, 6 Feb 2020 04:05:01 +0000 (23:05 -0500)]
a11y: Add an accessible for widgets with children
We've started to turns containers into widgets which
just happen to have children, and some of these need
to be exposed to the a11y stack.
This adds a very minimal implementation, it does not
currently emit change notification when children are
added or removed.
Matthias Clasen [Thu, 6 Feb 2020 04:07:33 +0000 (23:07 -0500)]
a11y: Report children of widgets
We want children of composite accessibles to be
reported.
Matthias Clasen [Thu, 6 Feb 2020 20:09:29 +0000 (20:09 +0000)]
Merge branch 'flatpak-build-sassc' into 'master'
Flatpak build sassc
See merge request GNOME/gtk!1392
Matthias Clasen [Thu, 6 Feb 2020 04:47:13 +0000 (23:47 -0500)]
Build sassc as a dependency for flatpaks
Downloading the subproject during the GTK build fails
in a flatpak build due to lack of network access.
flatpak-builder insists on having these things explicitly
spelled out as dependencies.
Matthias Clasen [Thu, 6 Feb 2020 13:07:13 +0000 (13:07 +0000)]
Merge branch 'WindowsPrintDriverPreferencesMaster' into 'master'
Fixed bug that prevented GTK from storing printer driver preferences in the…
See merge request GNOME/gtk!397
Matthias Clasen [Thu, 6 Feb 2020 07:07:22 +0000 (02:07 -0500)]
notebook: Update arrows when text direction changes
Fixes https://gitlab.gnome.org/GNOME/gtk/issues/103
Matthias Clasen [Thu, 6 Feb 2020 06:38:17 +0000 (06:38 +0000)]
Merge branch 'kill-simple-search' into 'master'
Remove simple search engine
See merge request GNOME/gtk!1393
Matthias Clasen [Thu, 6 Feb 2020 04:53:07 +0000 (04:53 +0000)]
Merge branch 'better-test-isolation-2' into 'master'
Better test isolation
See merge request GNOME/gtk!1391
Matthias Clasen [Thu, 6 Feb 2020 04:35:39 +0000 (23:35 -0500)]
css tests: Ignore ".csd" vs ".solid-csd"
It it hard to control which of the csd style classes we get,
since it depends on details of the X server or compositor.
Explicitly ignore this difference by replacing .solid-csd
with .csd in the output.
Matthias Clasen [Thu, 6 Feb 2020 03:24:39 +0000 (22:24 -0500)]
testsuite: Make tests run without a11y bus
Not having an a11y bus around causes warnings from
at-spi, which make tests fail. Explicitly ignore those
warnings.
Matthias Clasen [Thu, 6 Feb 2020 03:23:52 +0000 (22:23 -0500)]
testsuite: Fix bloomfilter style tests
The results were expecting solid-csd, which is not what
we usually have.
Matthias Clasen [Wed, 5 Feb 2020 18:26:22 +0000 (18:26 +0000)]
Merge branch 'master.msvc' into 'master'
Fix building recent GTK master on Visual Studio
See merge request GNOME/gtk!1369
Matthias Clasen [Wed, 5 Feb 2020 18:04:42 +0000 (18:04 +0000)]
Merge branch 'public-emojichooser' into 'master'
emojichooser: Make public
See merge request GNOME/gtk!1382
Benjamin Otte [Wed, 5 Feb 2020 14:04:12 +0000 (14:04 +0000)]
Merge branch 'wip/otte/css' into 'master'
Some CSS cleanup
See merge request GNOME/gtk!1389
Matthias Clasen [Tue, 4 Feb 2020 23:47:42 +0000 (00:47 +0100)]
emojichooser: Add profiler marks for loading
This is a long-running operation, and worth showing
in traces.
Matthias Clasen [Tue, 4 Feb 2020 23:25:15 +0000 (00:25 +0100)]
icontheme: Fix various memory leaks
Tasks need to be unreffed too.
Matthias Clasen [Tue, 4 Feb 2020 23:24:14 +0000 (00:24 +0100)]
widget: Fix a memory leak with class actions
This code was doing the wrong thing even if the parent class
doesn't have actions.
Matthias Clasen [Tue, 4 Feb 2020 23:23:36 +0000 (00:23 +0100)]
Add a lib64 variant of gtk.supp
Matthias Clasen [Tue, 4 Feb 2020 22:41:00 +0000 (23:41 +0100)]
icontheme: Remove some dead code
Matthias Clasen [Tue, 4 Feb 2020 22:07:43 +0000 (23:07 +0100)]
frameclock: cosmetics
Redo the profiler marks for the frame clock signals
to look more uniform.
Matthias Clasen [Tue, 4 Feb 2020 21:54:19 +0000 (22:54 +0100)]
gdk: Silence some compiler warnings
These cause unused variable warnings in release builds.
Matthias Clasen [Tue, 4 Feb 2020 21:45:29 +0000 (22:45 +0100)]
treestore: Silence compiler warnings
This was causing compiler warnings in release builds.
Matthias Clasen [Tue, 4 Feb 2020 21:42:44 +0000 (22:42 +0100)]
notebook: Don't trigger criticals in dispose
When we dismantle our children in dispose, we
trigger a11y children-changed signals which end
up calling back into the notebook. Handle this
without critical warnings.
Matthias Clasen [Tue, 4 Feb 2020 21:40:11 +0000 (22:40 +0100)]
textview: Don't update action state in dispose
Only update the action state when we have a text buffer,
there is no need to do it otherwise, since we are going
to get a buffer before we get shown. This avoids triggering
the action state updates from finalize, which is a bad
time to be recreating the action muxer.
Matthias Clasen [Tue, 4 Feb 2020 21:15:32 +0000 (22:15 +0100)]
entry: Avoid criticals in dispose
The accessible gets properties of the entry, and
resetting the entry icons triggers accessible change
notification, so do that before we dismantle the entry
too far to respond to a g_object_get () call.
Matthias Clasen [Tue, 4 Feb 2020 19:01:56 +0000 (20:01 +0100)]
Don't export color picker functions
This is not public API, so it shouldn't be exported.